scsi: sd: Fix wrong DPOFUA disable in sd_read_cache_type
authorDamien Le Moal <damien.lemoal@wdc.com>
Thu, 12 Jan 2017 06:25:10 +0000 (15:25 +0900)
committerRaspbian kernel package updater <root@raspbian.org>
Sun, 23 Jul 2017 03:04:42 +0000 (03:04 +0000)
commit7d2cf1c0c9df0d126fafaa50c13138781b78c98b
tree9662a7f2b1e52083566c303e075cf1b5950bc265
parenta03a5ed6461bf4918c61e54fcbac55308f8d0c4b
scsi: sd: Fix wrong DPOFUA disable in sd_read_cache_type

[ Upstream commit 26f2819772af891dee2843e1f8662c58e5129d5f ]

Zoned block devices force the use of READ/WRITE(16) commands by setting
sdkp->use_16_for_rw and clearing sdkp->use_10_for_rw. This result in
DPOFUA always being disabled for these drives as the assumed use of
the deprecated READ/WRITE(6) commands only looks at sdkp->use_10_for_rw.
Strenghten the test by also checking that sdkp->use_16_for_rw is false.

Signed-off-by: Damien Le Moal <damien.lemoal@wdc.com>
Reviewed-by: Hannes Reinecke <hare@suse.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/scsi/sd.c